set(app_yolo_dir ${src_dir}/app_yolo)
set(yolo_model_dir ${app_yolo_dir}/model)
message(STATUS "app_yolo_dir: ${app_yolo_dir}")
set(app_yolo_srcs
    ${app_yolo_dir}/yolo.cpp
    ${app_yolo_dir}/object_detector.cpp
    ${app_yolo_dir}/yolo_decode.cu
)

set(app_yolo_headers
    ${app_yolo_dir}/yolo_define.h
    ${app_yolo_dir}/yolo.h
    ${app_yolo_dir}/object_detector.hpp
)

cuda_add_library(app_yolo STATIC
    ${app_yolo_srcs}
    ${app_yolo_headers}
)
set_target_properties(app_yolo PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
target_include_directories(app_yolo PRIVATE ${src_dir})
target_link_libraries(app_yolo
    ${OpenCV_LIBS}
    trt_utils
    trt_engine
)

target_include_directories(app_yolo PRIVATE ${src_dir})

add_custom_command(TARGET app_yolo POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy_directory
    ${CMAKE_CURRENT_SOURCE_DIR}/model
    $<TARGET_FILE_DIR:app_yolo>/yolo_config)
